import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;

/*
 * @lc app=leetcode.cn id=49 lang=java
 *
 * [49] 字母异位词分组
 */

// @lc code=start
class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
      Map<String,List<String>> map=new HashMap<>();
      for(String s:strs){
        char[] array=s.toCharArray();
        Arrays.sort(array);//异位词排序后值相等，可作为key值
        String key=new String(array);//char数组变成string
        List<String> list=map.getOrDefault(key,new ArrayList<String>());
        list.add(s);
        map.put(key,list);
      }
      return new ArrayList<>(map.values());
    }
}
// @lc code=end

